import { operationType, cascaderType } from '@/config/dict.js'
// tableSearch
export const formItem = change => {
	return [
		{
			type: 'radioGroup',
			key: 'radioGroup',
			label: '',
			radios: [
				{ label: 'me', name: '我的' },
				{ label: 'all', name: '全部' },
				{ label: 'pending', name: '待审核' }
			],
			otherAttrs: {
				placeholder: '请输入操作内容',
				clearable: true
			},
			slotListeners: {
				change: change
			}
		},
		{
			type: 'input',
			key: 'keyword',
			label: '请输入标题',
			otherAttrs: {
				placeholder: '请输入操作内容',
				clearable: true
			}
		},
		{
			type: 'datePick',
			key: 'beginDate',
			label: '日期',
			otherAttrs: {
				style: {
					// width: '100%',
				},
				placeholder: '选择日期',
				// type: "daterange", // date week month year dates daterange monthrange
				format: 'yyyy 年 MM 月 dd 日', // 有或者没有
				// valueFormat: "",// 三种 yyyy 年 MM 月 dd 日 --- yyyy-MM-dd -- timestamp
				// rangeSeparator: "至",
				// startPlaceholder: "开始月份",
				// endPlaceholder: "结束月份",
				// defaultValue: new Date(),
				unlinkPanels: true, // 日期范围时，左右面板会联动
				// readonly: true,
				// disabled: true,
				editable: false,
				clearable: true,
				size: 'small' // large, small, mini
			}
			// slotListeners: {
			//   // change: e, // 输入框失去焦点或用户按下回车时触发
			//   // blur: e, // 失去焦点
			//   // focus: e, // 获取到焦点
			// }
		},
		{
			type: 'select',
			key: 'operationType',
			options: operationType,
			label: '请选择状态',
			otherAttrs: {
				placeholder: '请选择类型',
				// disabled: true,
				clearable: true,
				// multiple: true, // 多选功能
				// collapseTags: true, // 多选合并显示
				// custom: false, // 自定义模板
				filterable: true // 搜索功能
				// multipleLimit: 2, // 限制选中的个数
				// allowCreate: true, // 创建条目，貌似没什么用，保留
				// defaultFirstOption: true, //回车选择第一个
				// reserveKeyword: true,// 多选且可搜索时,保留当前的搜索关键词
				// popperClass: 'one', // 下拉框类名, 貌似没什么用
			},
			slotListeners: {
				// change: e, // 发生改变
				// clear: e, // 清空时
				// blur: e, // 失去焦点时
				// focus: e, // 获得焦点时
			}
		},
		{
			type: 'cascader',
			key: 'cascaderType',
			options: cascaderType,
			label: '请选择状态',
			otherAttrs: {
				placeholder: '请选择类型',
				// disabled: true,
				clearable: true,
				// collapseTags: true, // 多选合并显示
				// custom: false, // 自定义模板
				// filterable: true, // 搜索功能
				// multipleLimit: 2, // 限制选中的个数
				// allowCreate: true, // 创建条目，貌似没什么用，保留
				// defaultFirstOption: true, //回车选择第一个
				// reserveKeyword: true,// 多选且可搜索时,保留当前的搜索关键词
				separator: '/', // 选项的分隔符
				props: { expandTrigger: 'hover' } // { expandTrigger: 'hover', multiple: true, checkStrictly: true }
			},
			slotListeners: {
				// change: e, // 发生改变
				// blur: e, // 失去焦点时
				// focus: e, // 获得焦点时
			}
		}
	]
}
const formarData = (h, scope) => {
	return scope.row[h]
}
export const tableColumn = (page, size, edit, del, confirms) => {
	return [
		{
			key: 'name',
			attrs: {
				label: '名字111',
				resizable: false, // 列拖动
				align: 'center',
				width: 150,
				minWidth: 150
			},
			render: (h, scope) => {
				return <span style="color: #ccc">{formarData('name', scope)}</span>
			}
		},
		{
			key: 'date',
			attrs: {
				label: '日期1',
				width: 200,
				minWidth: 200,
				align: 'center',
				resizable: true
			},
			render: (h, scope) => {
				if (scope.row.date == '2016-05-02') {
					return (
						<el-button type="primary" size="mini">
							{scope.row.date}
						</el-button>
					)
				} else {
					return (
						<el-popover
							placement="top-start"
							title="标题"
							width="200"
							trigger="hover"
							content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
						>
							<el-button slot="reference" size="mini">
								{scope.row.date}
							</el-button>
						</el-popover>
					)
				}
			}
		},
		{
			key: 'address',
			attrs: {
				label: '地址1',
				width: 300,
				minWidth: 300,
				align: 'center',
				resizable: true
			}
		},
		{
			key: 'address1',
			type: 'button',
			list: [
				{
					showType: 'btnGroup',
					size: 'small',
					btns: [
						{
							name: '编辑2',
							type: 'primary',
							click: edit
						},
						{
							name: '删除',
							btnType: 'info',
							click: del
						}
					]
				},
				{
					showType: 'confirm',
					name: '的的',
					click: confirms,
					title: '确定要删除？'
					// type: 'info',
					// size: 'mini'
				}
			],
			attrs: {
				label: '地址q1',
				// width: 300,
				minWidth: 300,
				align: 'center',
				resizable: true
			}
		},
		{
			key: 'name',
			attrs: {
				label: '名字',
				resizable: false, // 列拖动
				align: 'center',
				width: 150,
				minWidth: 150
			},
			render: (h, scope) => {
				return <span style="color: #ccc">{formarData('name', scope)}</span>
			}
		}
	]
}
